// 459. 重复的子字符串
// 输入: s = "abab"
// 输出: true
// 解释: 可由子串 "ab" 重复两次构成。
// 思路：利用substring 和repeat 库函数  (使用repeat之后会将原来的字符串复制n次)
// 
/**
 * @param {string} s
 * @return {boolean}
 */
 var repeatedSubstringPattern = function(s) {
     // 只需要遍历一半即可, 一半以后必然不能重复
    for(let i=1;i<=s.length/2;i++){
        let res=s.substring(0,i);
        // 剪枝：字符串的长度不是串的整数倍, 必然不满足条件
        if(s.length%res.length!=0) continue;
         // 剪枝：最后不是以该子串结尾, 必然不满足条件
        if(res!=s.substring(s.length-res.length)) continue;
        // 利用 repeat API, 查看是否满足满足要求
        if(res.repeat(s.length/res.length)==s) return true;
    }
    return false;
};